﻿<?php

//echo checkStockCode("000063");
//echo searchStock("000063");

//完整版：        http://hq.sinajs.cn/list=sh601006
//简化版：        http://hq.sinajs.cn/list=s_sh601006

//上证指数：    http://hq.sinajs.cn/list=sh000001
//深圳成指：    http://hq.sinajs.cn/list=sz399001
//沪深300       http://hq.sinajs.cn/list=sh000300
//中小板指      http://hq.sinajs.cn/list=sz399005
//创业板指      http://hq.sinajs.cn/list=sz399006
//Ｂ股指数      http://hq.sinajs.cn/list=sh000003

//上海A股 6		http://hq.sinajs.cn/list=sh600189
//上海B股 9		http://hq.sinajs.cn/list=sh900935
//深圳A股 0,3	http://hq.sinajs.cn/list=sz000001
//				http://hq.sinajs.cn/list=sz300356
//深圳B股 2		http://hq.sinajs.cn/list=sz200020
//中小板  0		http://hq.sinajs.cn/list=sz002001 深圳
//创业板  3		http://hq.sinajs.cn/list=sz300002 深圳

function checkStockCode($keyword)
{
    $stockIndex = array(
      '上证指数' => 'sh000001', 
      '深圳成指' => 'sz399001', 
      '沪深300'  => 'sh000300', 
      '中小板指' => 'sz399005', 
      '创业板指' => 'sz399006', 
      'Ｂ股指数' => 'sh000003',
      'B股指数'  => 'sh000003'
    ); 
    if (preg_match("/^\d{6}$/",$keyword)){      //6位股票代码
        $stockCode = $keyword;
        $exchange = (substr($stockCode,0,1) < 5)?"sz":"sh";
        $url = "http://hq.sinajs.cn/list=s_".$exchange.$stockCode;
        return $stockCode;
    }else if(array_key_exists($keyword, $stockIndex)){			//其他查询，汉字加数字等
        $stockCode = substr($stockIndex[$keyword],2,6);
        $url = "http://hq.sinajs.cn/list=s_".$stockIndex[$keyword];
        return $stockCode;
    }else{
        return "nocode";
    }
}

function searchStock($keyword)
{
    $stockIndex = array(
      '上证指数' => 'sh000001', 
      '深圳成指' => 'sz399001', 
      '沪深300'  => 'sh000300', 
      '中小板指' => 'sz399005', 
      '创业板指' => 'sz399006', 
      'Ｂ股指数' => 'sh000003',
      'B股指数'  => 'sh000003'
    ); 
    if (preg_match("/^\d{6}$/",$keyword)){      //6位股票代码
        $stockCode = $keyword;
        $exchange = (substr($stockCode,0,1) < 5)?"sz":"sh";
        $url = "http://hq.sinajs.cn/list=s_".$exchange.$stockCode;
    }else if(array_key_exists($keyword, $stockIndex)){			//其他查询，汉字加数字等
        $stockCode = substr($stockIndex[$keyword],2,6);
        $url = "http://hq.sinajs.cn/list=s_".$stockIndex[$keyword];
    }else{
        return "不存在的股票代码？";
    }

    $ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    $result = iconv("GBK", "UTF-8//IGNORE", $data);

    $start = strpos($result,'"');   //第一次出现的位置
    $last  = strripos($result,'"'); //最后一次出现的位置
    $stockStr = substr($result, $start + 1, $last - $start - 1);
    $stockArray = explode(",",$stockStr);
    
    if (count($stockArray) <> 6){ return "不存在的股票代码？"; }

    $stockInfo = $stockArray[0]."[".$stockCode."]"."\n最新：".$stockArray[1]."\n涨跌：".$stockArray[2]."\n涨幅："
                .$stockArray[3]."%"."\n总手：".($stockArray[4] / 10000)."万"."\n金额：".($stockArray[5])."万";
    return $stockInfo."\n\n查询个股使用代码，查询指数使用汉字！";
}


?>